<?php
/**
 * 重置统计数据
 * 用于管理员重置系统访问统计数据
 */

// 引用通用文件
require_once __DIR__ . '/common.php';

// 严格控制输出，确保只有JSON响应
ob_start();

// 检查是否为AJAX请求
if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest') {
    header('Content-Type: application/json');
    echo '{"success": false, "message": "非法请求"}';
    ob_end_flush();
    exit;
}

// 只允许POST请求
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header('Content-Type: application/json');
    echo '{"success": false, "message": "请求方法不允许"}';
    ob_end_flush();
    exit;
}

// 验证CSRF令牌
if (!isset($_POST['csrf_token']) || !validateCsrfToken($_POST['csrf_token'])) {
    header('Content-Type: application/json');
    echo '{"success": false, "message": "CSRF令牌缺失或无效"}';
    ob_end_flush();
    exit;
}

// 检查用户是否已登录
if (!isLoggedIn()) {
    header('Content-Type: application/json');
    echo '{"success": false, "message": "请先登录"}';
    ob_end_flush();
    exit;
}

// 重置统计数据
try {
    // 定义默认的统计数据
    $defaultStats = [
        'total_visits' => 0,
        'unique_visitors' => 0,
        'today_visits' => 0,
        'last_visit' => null,
        'visitors' => []
    ];
    
    // 写入默认统计数据到文件
    $statsFile = $projectRoot . '/data/stats.json';
    if (file_put_contents($statsFile, json_encode($defaultStats, JSON_PRETTY_PRINT)) === false) {
        throw new Exception('无法写入统计文件');
    }
    
    // 输出成功响应
    header('Content-Type: application/json');
    echo '{"success": true, "message": "统计数据已成功重置"}';
    
} catch (Exception $e) {
    // 输出错误响应
    header('Content-Type: application/json');
    echo '{"success": false, "message": "重置统计数据失败：' . addslashes($e->getMessage()) . '"}';
}

// 确保所有输出被发送
ob_end_flush();
exit;
?>